<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>爱家-个人信息</title>
    <link href="/static/plugins/bootstrap/css/bootstrap.min.css" rel="stylesheet">
    <link href="/static/plugins/font-awesome/css/font-awesome.min.css" rel="stylesheet">
    <link href="/static/css/reset.css" rel="stylesheet">
    <link href="/static/plugins/bootstrap-datepicker/css/bootstrap-datepicker.min.css" rel="stylesheet">
    <link href="/static/css/ihome/main.css" rel="stylesheet">
    <link href="/static/css/ihome/profile.css" rel="stylesheet">
</head>

<body>
    <div class="container">
        <div class="top-bar">
            <div class="nav-bar">
                <h3 class="page-title">个人信息</h3>
                <a class="nav-btn fl" href="/my.html"><span><i class="fa fa-angle-left fa-2x"></i></span></a>
            </div>
        </div>
        <div class="menus-con">
            <ul class="menus-list">
                <li>
                    <div class="menu-title">
                        <h3>头像</h3>
                    </div>
                    <div class="menu-content">
                        <img id="user-avatar" src="">
                        <div class="menu-text">
                            <form id="form-avatar" method="post"
                                enctype="multipart/form-data">
                                选择头像：<input type="file" accept="image/*" name="avatar">
                                <input type="submit" class="btn btn-success" value="上传">
                            </form>
                        </div>
                    </div>
                </li>
                <li>
                    <div class="menu-title">
                        <h3>用户名</h3>
                    </div>
                    <div class="menu-content">
                        <form id="form-name" method="post">
                            <input type="text" name="name" id="user-name">
                            <input type="submit" class="btn btn-success" value="保存">
                        </form>
                        <div class="error-msg"><i class="fa fa-exclamation-circle"></i>用户名已存在，请重新设置</div>
                    </div>
                </li>
            </ul>
        </div>
        <div class="popup_con">
            <div class="popup">
                <p>保存成功！</p>
            </div>

            <div class="mask"></div>
        </div>
        <div class="footer">
            <p><span><i class="fa fa-copyright"></i></span>爱家租房&nbsp;&nbsp;享受家的温馨</p>
        </div>
    </div>

    <script src="/static/js/jquery.min.js"></script>
    <script src="/static/js/jquery.form.min.js"></script>
    <script src="/static/plugins/bootstrap/js/bootstrap.min.js"></script>
    <script src="/static/plugins/bootstrap-datepicker/js/bootstrap-datepicker.min.js"></script>
    <script src="/static/plugins/bootstrap-datepicker/locales/bootstrap-datepicker.zh-CN.min.js"></script>
    <script>
        function showSuccessMsg() {
            $('.popup_con').fadeIn('fast', function () {
                setTimeout(function () {
                    $('.popup_con').fadeOut('fast', function () { });
                }, 1000)
            });
        }

        function getCookie(name) {
            var r = document.cookie.match("\\b" + name + "=([^;]*)\\b");
            return r ? r[1] : undefined;
        }

        $(function(){
            // 在页面加载是向后端查询用户的信息
            $.get("/api/v1/user", function (resp) {
                // 用户未登录
                if ("4001" == resp.errno) {
                    location.href = "/login.html";
                }
                // 查询到了用户的信息
                else if ("0" == resp.errno) {
                    $("#user-name").val(resp.data.name);
                    if (resp.avatar) {
                        $("#user-avatar").attr("src", resp.data.avatar);
                    }
                }
            }, "json");

            $("#form-avatar").submit(function (e) {
                // 阻止表单的默认行为
                e.preventDefault();
                // 利用jquery.form.min.js提供的ajaxSubmit对表单进行异步提交
                $(this).ajaxSubmit({
                    url: "/api/v1/user/avatar",
                    type: "post",
                    dataType: "json",
                    headers: {
                        "X-CSRFToken": getCookie("csrf_token")
                    },
                    success: function (resp) {
                        if (resp.errno == "0") {
                            // 上传成功
                            var avatarUrl = resp.data.avatar_url;
                            $("#user-avatar").attr("src", avatarUrl);
                        } else if (resp.errno == "4001") {
                            location.href = "/login.html";
                        } else {
                            alert(resp.errmsg);
                        }
                    }
                })
            });

            $("#form-name").submit(function (e) {
                e.preventDefault();
                // 获取参数
                var name = $("#user-name").val();

                if (!name) {
                    alert("请填写用户名！");
                    return;
                }
                $.ajax({
                    url: "/api/v1/user/name",
                    type: "PUT",
                    data: JSON.stringify({ name: name }),
                    contentType: "application/json",
                    dataType: "json",
                    headers: {
                        "X-CSRFTOKEN": getCookie("csrf_token")
                    },
                    success: function (data) {
                        if ("0" == data.errno) {
                            $(".error-msg").hide();
                            showSuccessMsg();
                        } else if ("3001" == data.errno) {
                            $(".error-msg").show();
                        } else if ("4001" == data.errno) {
                            location.href = "/login.html";
                        }
                    }
                });
            })
        })
    </script>
</body>

</html>